package com.gec.zhs.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 工作流流程实例表
 * @TableName flowinstance
 */
@TableName(value ="flowinstance")
@Data
public class Flowinstance implements Serializable {
    /**
     * 主键Id
     */
    @TableId
    private String id;

    /**
     * 流程实例模板Id
     */
    private String instanceschemeid;

    /**
     * 实例编号
     */
    private String code;

    /**
     * 自定义名称
     */
    private String customname;

    /**
     * 当前节点ID
     */
    private String activityid;

    /**
     * 当前节点类型（0会签节点）
     */
    private Integer activitytype;

    /**
     * 当前节点名称
     */
    private String activityname;

    /**
     * 前一个ID
     */
    private String previousid;

    /**
     * 流程模板内容
     */
    private String schemecontent;

    /**
     * 流程模板ID
     */
    private String schemeid;

    /**
     * 数据库名称
     */
    private String dbname;

    /**
     * 表单数据
     */
    private String frmdata;

    /**
     * 表单类型
     */
    private Integer frmtype;

    /**
     * 表单中的控件属性描述
     */
    private String frmcontentdata;

    /**
     * 表单控件位置模板
     */
    private String frmcontentparse;

    /**
     * 表单ID
     */
    private String frmid;

    /**
     * 流程类型
     */
    private String schemetype;

    /**
     * 有效标志
     */
    private Integer disabled;

    /**
     * 创建时间
     */
    private Date createdate;

    /**
     * 创建用户主键
     */
    private String createuserid;

    /**
     * 创建用户
     */
    private String createusername;

    /**
     * 等级
     */
    private Integer flowlevel;

    /**
     * 实例备注
     */
    private String description;

    /**
     * 是否完成
     */
    private Integer isfinish;

    /**
     * 执行人
     */
    private String makerlist;

    /**
     * 所属部门
     */
    private String orgid;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Flowinstance other = (Flowinstance) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getInstanceschemeid() == null ? other.getInstanceschemeid() == null : this.getInstanceschemeid().equals(other.getInstanceschemeid()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getCustomname() == null ? other.getCustomname() == null : this.getCustomname().equals(other.getCustomname()))
            && (this.getActivityid() == null ? other.getActivityid() == null : this.getActivityid().equals(other.getActivityid()))
            && (this.getActivitytype() == null ? other.getActivitytype() == null : this.getActivitytype().equals(other.getActivitytype()))
            && (this.getActivityname() == null ? other.getActivityname() == null : this.getActivityname().equals(other.getActivityname()))
            && (this.getPreviousid() == null ? other.getPreviousid() == null : this.getPreviousid().equals(other.getPreviousid()))
            && (this.getSchemecontent() == null ? other.getSchemecontent() == null : this.getSchemecontent().equals(other.getSchemecontent()))
            && (this.getSchemeid() == null ? other.getSchemeid() == null : this.getSchemeid().equals(other.getSchemeid()))
            && (this.getDbname() == null ? other.getDbname() == null : this.getDbname().equals(other.getDbname()))
            && (this.getFrmdata() == null ? other.getFrmdata() == null : this.getFrmdata().equals(other.getFrmdata()))
            && (this.getFrmtype() == null ? other.getFrmtype() == null : this.getFrmtype().equals(other.getFrmtype()))
            && (this.getFrmcontentdata() == null ? other.getFrmcontentdata() == null : this.getFrmcontentdata().equals(other.getFrmcontentdata()))
            && (this.getFrmcontentparse() == null ? other.getFrmcontentparse() == null : this.getFrmcontentparse().equals(other.getFrmcontentparse()))
            && (this.getFrmid() == null ? other.getFrmid() == null : this.getFrmid().equals(other.getFrmid()))
            && (this.getSchemetype() == null ? other.getSchemetype() == null : this.getSchemetype().equals(other.getSchemetype()))
            && (this.getDisabled() == null ? other.getDisabled() == null : this.getDisabled().equals(other.getDisabled()))
            && (this.getCreatedate() == null ? other.getCreatedate() == null : this.getCreatedate().equals(other.getCreatedate()))
            && (this.getCreateuserid() == null ? other.getCreateuserid() == null : this.getCreateuserid().equals(other.getCreateuserid()))
            && (this.getCreateusername() == null ? other.getCreateusername() == null : this.getCreateusername().equals(other.getCreateusername()))
            && (this.getFlowlevel() == null ? other.getFlowlevel() == null : this.getFlowlevel().equals(other.getFlowlevel()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getIsfinish() == null ? other.getIsfinish() == null : this.getIsfinish().equals(other.getIsfinish()))
            && (this.getMakerlist() == null ? other.getMakerlist() == null : this.getMakerlist().equals(other.getMakerlist()))
            && (this.getOrgid() == null ? other.getOrgid() == null : this.getOrgid().equals(other.getOrgid()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getInstanceschemeid() == null) ? 0 : getInstanceschemeid().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getCustomname() == null) ? 0 : getCustomname().hashCode());
        result = prime * result + ((getActivityid() == null) ? 0 : getActivityid().hashCode());
        result = prime * result + ((getActivitytype() == null) ? 0 : getActivitytype().hashCode());
        result = prime * result + ((getActivityname() == null) ? 0 : getActivityname().hashCode());
        result = prime * result + ((getPreviousid() == null) ? 0 : getPreviousid().hashCode());
        result = prime * result + ((getSchemecontent() == null) ? 0 : getSchemecontent().hashCode());
        result = prime * result + ((getSchemeid() == null) ? 0 : getSchemeid().hashCode());
        result = prime * result + ((getDbname() == null) ? 0 : getDbname().hashCode());
        result = prime * result + ((getFrmdata() == null) ? 0 : getFrmdata().hashCode());
        result = prime * result + ((getFrmtype() == null) ? 0 : getFrmtype().hashCode());
        result = prime * result + ((getFrmcontentdata() == null) ? 0 : getFrmcontentdata().hashCode());
        result = prime * result + ((getFrmcontentparse() == null) ? 0 : getFrmcontentparse().hashCode());
        result = prime * result + ((getFrmid() == null) ? 0 : getFrmid().hashCode());
        result = prime * result + ((getSchemetype() == null) ? 0 : getSchemetype().hashCode());
        result = prime * result + ((getDisabled() == null) ? 0 : getDisabled().hashCode());
        result = prime * result + ((getCreatedate() == null) ? 0 : getCreatedate().hashCode());
        result = prime * result + ((getCreateuserid() == null) ? 0 : getCreateuserid().hashCode());
        result = prime * result + ((getCreateusername() == null) ? 0 : getCreateusername().hashCode());
        result = prime * result + ((getFlowlevel() == null) ? 0 : getFlowlevel().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getIsfinish() == null) ? 0 : getIsfinish().hashCode());
        result = prime * result + ((getMakerlist() == null) ? 0 : getMakerlist().hashCode());
        result = prime * result + ((getOrgid() == null) ? 0 : getOrgid().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", instanceschemeid=").append(instanceschemeid);
        sb.append(", code=").append(code);
        sb.append(", customname=").append(customname);
        sb.append(", activityid=").append(activityid);
        sb.append(", activitytype=").append(activitytype);
        sb.append(", activityname=").append(activityname);
        sb.append(", previousid=").append(previousid);
        sb.append(", schemecontent=").append(schemecontent);
        sb.append(", schemeid=").append(schemeid);
        sb.append(", dbname=").append(dbname);
        sb.append(", frmdata=").append(frmdata);
        sb.append(", frmtype=").append(frmtype);
        sb.append(", frmcontentdata=").append(frmcontentdata);
        sb.append(", frmcontentparse=").append(frmcontentparse);
        sb.append(", frmid=").append(frmid);
        sb.append(", schemetype=").append(schemetype);
        sb.append(", disabled=").append(disabled);
        sb.append(", createdate=").append(createdate);
        sb.append(", createuserid=").append(createuserid);
        sb.append(", createusername=").append(createusername);
        sb.append(", flowlevel=").append(flowlevel);
        sb.append(", description=").append(description);
        sb.append(", isfinish=").append(isfinish);
        sb.append(", makerlist=").append(makerlist);
        sb.append(", orgid=").append(orgid);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}